﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UtilZ.Dotnet.Ex.Communication.Net.Web
{
    /// <summary>
    /// Http请求方法定义类
    /// </summary>
    public class HttpRequestMethods
    {
        /// <summary>
        /// 请求指定的页面信息，并返回实体主体
        /// </summary>
        public const string GET = "GET";

        /// <summary>
        /// 类似于get请求，只不过返回的响应中没有具体的内容，用于获取报头
        /// </summary>
        public const string HEAD = "HEAD";

        /// <summary>
        /// 向指定资源提交数据进行处理请求（例如提交表单或者上传文件）。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
        /// </summary>
        public const string POST = "POST";

        /// <summary>
        /// 从客户端向服务器传送的数据取代指定的文档的内容
        /// </summary>
        public const string PUT = "PUT";

        /// <summary>
        /// 请求服务器删除指定的页面
        /// </summary>
        public const string DELETE = "DELETE";

        /// <summary>
        /// HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
        /// </summary>
        public const string CONNECT = "CONNECT";

        /// <summary>
        /// 允许客户端查看服务器的性能
        /// </summary>
        public const string OPTIONS = "OPTIONS";

        /// <summary>
        /// 回显服务器收到的请求，主要用于测试或诊断
        /// </summary>
        public const string TRACE = "TRACE";

        /// <summary>
        /// 实体中包含一个表，表中说明与该URI所表示的原内容的区别
        /// </summary>
        public const string PATCH = "PATCH";

        /// <summary>
        /// 请求服务器将指定的页面移至另一个网络地址
        /// </summary>
        public const string MOVE = "MOVE";

        /// <summary>
        /// 请求服务器将指定的页面拷贝至另一个网络地址
        /// </summary>
        public const string COPY = "COPY";

        /// <summary>
        /// 请求服务器建立链接关系
        /// </summary>
        public const string LINK = "LINK";

        /// <summary>
        /// 断开链接关系
        /// </summary>
        public const string UNLINK = "UNLINK";

        /// <summary>
        /// 允许客户端发送经过封装的请求
        /// </summary>
        public const string WRAPPED = "WRAPPED";

        /// <summary>
        /// 请求指定的页面信息，并返回实体主体
        /// </summary>
        public const string EXTENSION_MOTHED = "EXTENSION-MOTHED";
    }
}
